.NET は、Microsoft が提供する統合アプリケーション開発プラットフォームで、Webアプリ、API、デスクトップ、モバイル、クラウド、マイクロサービスなど、さまざまなアプリケーションを開発できるフレームワーク群の総称です。 現在は .NET 5 以降(.NET 6 / 7 / 8 / 10 など)として統一されており、クロスプラットフォーム・高パフォーマンス・クラウドネイティブをキーワードに進化しています。
.NETとは何か
.NET は、C# / F# / VB などの言語で開発されたアプリケーションを実行するためのランタイム(.NET ランタイム)と、 豊富なクラスライブラリ、そして開発用の.NET SDKから構成されるプラットフォームです。 Windows / Linux / macOS で動作し、オンプレミスからクラウドまで幅広い環境に対応します。
.NETの主な特徴
クロスプラットフォーム対応
- Windows / Linux / macOS で同じコードベースを実行可能
- サーバー、コンテナ(Docker)、クラウド(Azure / AWS / GCP)での運用に適している
高パフォーマンスとスケーラビリティ
- ランタイムやガベージコレクション、JIT/AOT コンパイルの最適化により高速に動作
- ASP.NET Core による高パフォーマンスな Web API / Web アプリ開発が可能
統合された開発体験
- Visual Studio / Visual Studio Code などの IDE と強く連携
- CLI(
dotnetコマンド)でプロジェクト作成・ビルド・テスト・公開まで一貫して操作できる
オープンソースとコミュニティ
- .NET ランタイムやASP.NET Coreなどは GitHub 上で開発されるオープンソース
- .NET Foundation によってエコシステムが支えられている
.NETでできること
- Webアプリ・Web API: ASP.NET Core によるモダンな Web サービス・REST API 開発
- デスクトップアプリ: Windows 向けの WinForms / WPF、クロスプラットフォームな .NET MAUI
- モバイルアプリ: .NET MAUI で iOS / Android / Windows / macOS 向けアプリを開発
- クラウド・マイクロサービス: コンテナ化されたマイクロサービスやクラウドネイティブアプリ
- コンソール・バッチ: バッチ処理、CLIツール、バックグラウンドジョブなど
- AI・機械学習: ML.NET や Azure OpenAI などと連携したAIアプリケーション
.NET Framework と .NET(.NET 5+)の違い
| 項目 | .NET Framework | .NET(.NET 5 / 6 / 7 / 8 など) |
|---|---|---|
| 対応OS | Windowsのみ | Windows / Linux / macOS |
| 用途 | 既存のWindows業務アプリ、旧ASP.NETなど | Web、クラウド、モバイル、デスクトップ、マイクロサービスなど |
| サポート状況 | メンテナンスフェーズ(新機能追加はほぼ終了) | 現行の主力プラットフォームとして継続的に進化 |
| パフォーマンス | 十分だが設計が古い | 最新の最適化により高パフォーマンス |
| 推奨される用途 | 既存システムの保守 | 新規開発・移行先として推奨 |
.NET 6 / .NET 8 などのLTSバージョン
.NET には、長期サポート(LTS)バージョンが用意されており、.NET 6 や .NET 8 は LTS として約3年間のサポートが提供されます。 業務システムや長期運用を前提としたサービスでは、LTS バージョンを選択するのが一般的です。
簡単な .NET コンソールアプリの例(.NET 6以降)
// Program.cs(トップレベルステートメント)
Console.WriteLine("Hello, .NET!");
.NET SDK をインストールした環境で、次のように実行できます。
dotnet new console -n SampleApp
cd SampleApp
dotnet run
まとめ:.NETは「これからのMicrosoft開発の中心プラットフォーム」
- .NET: Web・クラウド・デスクトップ・モバイルまでカバーする統合開発プラットフォーム
- クロスプラットフォーム: Windows / Linux / macOS で同じコードを活用可能
- 新規開発: .NET Framework ではなく、.NET 6 / .NET 8 などの最新 .NET を選ぶのが基本